\hypertarget{class_q_c_p_range}{}\section{Q\+C\+P\+Range Class Reference}
\label{class_q_c_p_range}\index{Q\+C\+P\+Range@{Q\+C\+P\+Range}}


Represents the range an axis is encompassing.  


\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{class_q_c_p_range_aca158d7e69702cee5d77d10a269b01e2}{Q\+C\+P\+Range}} ()
\item 
\mbox{\hyperlink{class_q_c_p_range_a1d9d84d084c8f368fdedd42e0978d405}{Q\+C\+P\+Range}} (double lower, double upper)
\item 
\mbox{\Hypertarget{class_q_c_p_range_a9f8d1fdcf4b6d19779f1c3d9a14b09c9}\label{class_q_c_p_range_a9f8d1fdcf4b6d19779f1c3d9a14b09c9}} 
bool {\bfseries operator==} (const \mbox{\hyperlink{class_q_c_p_range}{Q\+C\+P\+Range}} \&other) const
\item 
\mbox{\Hypertarget{class_q_c_p_range_a4827a37c83b8bb4bf53fcf8f6a257e77}\label{class_q_c_p_range_a4827a37c83b8bb4bf53fcf8f6a257e77}} 
bool {\bfseries operator!=} (const \mbox{\hyperlink{class_q_c_p_range}{Q\+C\+P\+Range}} \&other) const
\item 
\mbox{\hyperlink{class_q_c_p_range}{Q\+C\+P\+Range}} \& \mbox{\hyperlink{class_q_c_p_range_afea7c1aa7d08f061cd9bd8832f957df8}{operator+=}} (const double \&value)
\item 
\mbox{\hyperlink{class_q_c_p_range}{Q\+C\+P\+Range}} \& \mbox{\hyperlink{class_q_c_p_range_a95894bcb15a16a75ca564091374e2191}{operator-\/=}} (const double \&value)
\item 
\mbox{\hyperlink{class_q_c_p_range}{Q\+C\+P\+Range}} \& \mbox{\hyperlink{class_q_c_p_range_a6876aa9620ff2f0f7f1873f998372cef}{operator$\ast$=}} (const double \&value)
\item 
\mbox{\hyperlink{class_q_c_p_range}{Q\+C\+P\+Range}} \& \mbox{\hyperlink{class_q_c_p_range_a6137d8682b6835ace840730b4c1e2d63}{operator/=}} (const double \&value)
\item 
double \mbox{\hyperlink{class_q_c_p_range_a62326e7cc4316b96df6a60813230e63f}{size}} () const
\item 
double \mbox{\hyperlink{class_q_c_p_range_af57d4a37a45d0101177ca30fae5d4ca8}{center}} () const
\item 
void \mbox{\hyperlink{class_q_c_p_range_af914a7740269b0604d0827c634a878a9}{normalize}} ()
\item 
void \mbox{\hyperlink{class_q_c_p_range_a0fa1bc8048be50d52bea93a8caf08305}{expand}} (const \mbox{\hyperlink{class_q_c_p_range}{Q\+C\+P\+Range}} \&other\+Range)
\item 
\mbox{\hyperlink{class_q_c_p_range}{Q\+C\+P\+Range}} \mbox{\hyperlink{class_q_c_p_range_a9cbfb7cd06eac1839cae981e05c19633}{expanded}} (const \mbox{\hyperlink{class_q_c_p_range}{Q\+C\+P\+Range}} \&other\+Range) const
\item 
\mbox{\hyperlink{class_q_c_p_range}{Q\+C\+P\+Range}} \mbox{\hyperlink{class_q_c_p_range_a3d66288d66e1d6df3636075eb42502ee}{sanitized\+For\+Log\+Scale}} () const
\item 
\mbox{\hyperlink{class_q_c_p_range}{Q\+C\+P\+Range}} \mbox{\hyperlink{class_q_c_p_range_a808751fdd9b17ef52327ba011df2e5f1}{sanitized\+For\+Lin\+Scale}} () const
\item 
bool \mbox{\hyperlink{class_q_c_p_range_ae9842b48b6d38dc5e9607358e3083cc8}{contains}} (double value) const
\end{DoxyCompactItemize}
\subsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
static bool \mbox{\hyperlink{class_q_c_p_range_ab38bd4841c77c7bb86c9eea0f142dcc0}{valid\+Range}} (double lower, double upper)
\item 
static bool \mbox{\hyperlink{class_q_c_p_range_a801b964752eaad6219be9d8a651ec2b3}{valid\+Range}} (const \mbox{\hyperlink{class_q_c_p_range}{Q\+C\+P\+Range}} \&range)
\end{DoxyCompactItemize}
\subsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{class_q_c_p_range_aa3aca3edb14f7ca0c85d912647b91745}\label{class_q_c_p_range_aa3aca3edb14f7ca0c85d912647b91745}} 
double {\bfseries lower}
\item 
\mbox{\Hypertarget{class_q_c_p_range_ae44eb3aafe1d0e2ed34b499b6d2e074f}\label{class_q_c_p_range_ae44eb3aafe1d0e2ed34b499b6d2e074f}} 
double {\bfseries upper}
\end{DoxyCompactItemize}
\subsection*{Static Public Attributes}
\begin{DoxyCompactItemize}
\item 
static const double \mbox{\hyperlink{class_q_c_p_range_ab46d3bc95030ee25efda41b89e2b616b}{min\+Range}} = 1e-\/280
\item 
static const double \mbox{\hyperlink{class_q_c_p_range_a5ca51e7a2dc5dc0d49527ab171fe1f4f}{max\+Range}} = 1e250
\end{DoxyCompactItemize}
\subsection*{Friends}
\begin{DoxyCompactItemize}
\item 
const \mbox{\hyperlink{class_q_c_p_range}{Q\+C\+P\+Range}} \mbox{\hyperlink{class_q_c_p_range_af53ea6fb823a4a5897162b865841de04}{operator+}} (const \mbox{\hyperlink{class_q_c_p_range}{Q\+C\+P\+Range}} \&, double)
\item 
const \mbox{\hyperlink{class_q_c_p_range}{Q\+C\+P\+Range}} \mbox{\hyperlink{class_q_c_p_range_a9fb2e9941d32001482df670c0d704977}{operator+}} (double, const \mbox{\hyperlink{class_q_c_p_range}{Q\+C\+P\+Range}} \&)
\item 
const \mbox{\hyperlink{class_q_c_p_range}{Q\+C\+P\+Range}} \mbox{\hyperlink{class_q_c_p_range_a797f82830b516646da8873f82e39e356}{operator-\/}} (const \mbox{\hyperlink{class_q_c_p_range}{Q\+C\+P\+Range}} \&range, double value)
\item 
const \mbox{\hyperlink{class_q_c_p_range}{Q\+C\+P\+Range}} \mbox{\hyperlink{class_q_c_p_range_a558b1248ff6a9e41fd5b2630555a8acc}{operator$\ast$}} (const \mbox{\hyperlink{class_q_c_p_range}{Q\+C\+P\+Range}} \&range, double value)
\item 
const \mbox{\hyperlink{class_q_c_p_range}{Q\+C\+P\+Range}} \mbox{\hyperlink{class_q_c_p_range_a5cb2332f6957021f47cc768089f4f090}{operator$\ast$}} (double value, const \mbox{\hyperlink{class_q_c_p_range}{Q\+C\+P\+Range}} \&range)
\item 
const \mbox{\hyperlink{class_q_c_p_range}{Q\+C\+P\+Range}} \mbox{\hyperlink{class_q_c_p_range_a4b366a3a21974c88e09b0d39d4a24a4b}{operator/}} (const \mbox{\hyperlink{class_q_c_p_range}{Q\+C\+P\+Range}} \&range, double value)
\end{DoxyCompactItemize}


\subsection{Detailed Description}
Represents the range an axis is encompassing. 

contains a {\itshape lower} and {\itshape upper} double value and provides convenience input, output and modification functions.

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{class_q_c_p_axis_aebdfea5d44c3a0ad2b4700cd4d25b641}{Q\+C\+P\+Axis\+::set\+Range}} 
\end{DoxySeeAlso}


\subsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{class_q_c_p_range_aca158d7e69702cee5d77d10a269b01e2}\label{class_q_c_p_range_aca158d7e69702cee5d77d10a269b01e2}} 
\index{Q\+C\+P\+Range@{Q\+C\+P\+Range}!Q\+C\+P\+Range@{Q\+C\+P\+Range}}
\index{Q\+C\+P\+Range@{Q\+C\+P\+Range}!Q\+C\+P\+Range@{Q\+C\+P\+Range}}
\subsubsection{\texorpdfstring{Q\+C\+P\+Range()}{QCPRange()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily Q\+C\+P\+Range\+::\+Q\+C\+P\+Range (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}

Constructs a range with {\itshape lower} and {\itshape upper} set to zero. \mbox{\Hypertarget{class_q_c_p_range_a1d9d84d084c8f368fdedd42e0978d405}\label{class_q_c_p_range_a1d9d84d084c8f368fdedd42e0978d405}} 
\index{Q\+C\+P\+Range@{Q\+C\+P\+Range}!Q\+C\+P\+Range@{Q\+C\+P\+Range}}
\index{Q\+C\+P\+Range@{Q\+C\+P\+Range}!Q\+C\+P\+Range@{Q\+C\+P\+Range}}
\subsubsection{\texorpdfstring{Q\+C\+P\+Range()}{QCPRange()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily Q\+C\+P\+Range\+::\+Q\+C\+P\+Range (\begin{DoxyParamCaption}\item[{double}]{lower,  }\item[{double}]{upper }\end{DoxyParamCaption})}

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Constructs a range with the specified {\itshape lower} and {\itshape upper} values. 

\subsection{Member Function Documentation}
\mbox{\Hypertarget{class_q_c_p_range_af57d4a37a45d0101177ca30fae5d4ca8}\label{class_q_c_p_range_af57d4a37a45d0101177ca30fae5d4ca8}} 
\index{Q\+C\+P\+Range@{Q\+C\+P\+Range}!center@{center}}
\index{center@{center}!Q\+C\+P\+Range@{Q\+C\+P\+Range}}
\subsubsection{\texorpdfstring{center()}{center()}}
{\footnotesize\ttfamily double Q\+C\+P\+Range\+::center (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}

Returns the center of the range, i.\+e. ({\itshape upper+{\itshape lower})$\ast$0}.5 \mbox{\Hypertarget{class_q_c_p_range_ae9842b48b6d38dc5e9607358e3083cc8}\label{class_q_c_p_range_ae9842b48b6d38dc5e9607358e3083cc8}} 
\index{Q\+C\+P\+Range@{Q\+C\+P\+Range}!contains@{contains}}
\index{contains@{contains}!Q\+C\+P\+Range@{Q\+C\+P\+Range}}
\subsubsection{\texorpdfstring{contains()}{contains()}}
{\footnotesize\ttfamily bool Q\+C\+P\+Range\+::contains (\begin{DoxyParamCaption}\item[{double}]{value }\end{DoxyParamCaption}) const}

Returns true when {\itshape value} lies within or exactly on the borders of the range. \mbox{\Hypertarget{class_q_c_p_range_a0fa1bc8048be50d52bea93a8caf08305}\label{class_q_c_p_range_a0fa1bc8048be50d52bea93a8caf08305}} 
\index{Q\+C\+P\+Range@{Q\+C\+P\+Range}!expand@{expand}}
\index{expand@{expand}!Q\+C\+P\+Range@{Q\+C\+P\+Range}}
\subsubsection{\texorpdfstring{expand()}{expand()}}
{\footnotesize\ttfamily void Q\+C\+P\+Range\+::expand (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_q_c_p_range}{Q\+C\+P\+Range}} \&}]{other\+Range }\end{DoxyParamCaption})}

Expands this range such that {\itshape other\+Range} is contained in the new range. It is assumed that both this range and {\itshape other\+Range} are normalized (see \mbox{\hyperlink{class_q_c_p_range_af914a7740269b0604d0827c634a878a9}{normalize}}).

If {\itshape other\+Range} is already inside the current range, this function does nothing.

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{class_q_c_p_range_a9cbfb7cd06eac1839cae981e05c19633}{expanded}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{class_q_c_p_range_a9cbfb7cd06eac1839cae981e05c19633}\label{class_q_c_p_range_a9cbfb7cd06eac1839cae981e05c19633}} 
\index{Q\+C\+P\+Range@{Q\+C\+P\+Range}!expanded@{expanded}}
\index{expanded@{expanded}!Q\+C\+P\+Range@{Q\+C\+P\+Range}}
\subsubsection{\texorpdfstring{expanded()}{expanded()}}
{\footnotesize\ttfamily \mbox{\hyperlink{class_q_c_p_range}{Q\+C\+P\+Range}} Q\+C\+P\+Range\+::expanded (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_q_c_p_range}{Q\+C\+P\+Range}} \&}]{other\+Range }\end{DoxyParamCaption}) const}

Returns an expanded range that contains this and {\itshape other\+Range}. It is assumed that both this range and {\itshape other\+Range} are normalized (see \mbox{\hyperlink{class_q_c_p_range_af914a7740269b0604d0827c634a878a9}{normalize}}).

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{class_q_c_p_range_a0fa1bc8048be50d52bea93a8caf08305}{expand}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{class_q_c_p_range_af914a7740269b0604d0827c634a878a9}\label{class_q_c_p_range_af914a7740269b0604d0827c634a878a9}} 
\index{Q\+C\+P\+Range@{Q\+C\+P\+Range}!normalize@{normalize}}
\index{normalize@{normalize}!Q\+C\+P\+Range@{Q\+C\+P\+Range}}
\subsubsection{\texorpdfstring{normalize()}{normalize()}}
{\footnotesize\ttfamily void Q\+C\+P\+Range\+::normalize (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}

Makes sure {\itshape lower} is numerically smaller than {\itshape upper}. If this is not the case, the values are swapped. \mbox{\Hypertarget{class_q_c_p_range_a6876aa9620ff2f0f7f1873f998372cef}\label{class_q_c_p_range_a6876aa9620ff2f0f7f1873f998372cef}} 
\index{Q\+C\+P\+Range@{Q\+C\+P\+Range}!operator$\ast$=@{operator$\ast$=}}
\index{operator$\ast$=@{operator$\ast$=}!Q\+C\+P\+Range@{Q\+C\+P\+Range}}
\subsubsection{\texorpdfstring{operator$\ast$=()}{operator*=()}}
{\footnotesize\ttfamily \mbox{\hyperlink{class_q_c_p_range}{Q\+C\+P\+Range}} \& Q\+C\+P\+Range\+::operator$\ast$= (\begin{DoxyParamCaption}\item[{const double \&}]{value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Multiplies both boundaries of the range by {\itshape value}. \mbox{\Hypertarget{class_q_c_p_range_afea7c1aa7d08f061cd9bd8832f957df8}\label{class_q_c_p_range_afea7c1aa7d08f061cd9bd8832f957df8}} 
\index{Q\+C\+P\+Range@{Q\+C\+P\+Range}!operator+=@{operator+=}}
\index{operator+=@{operator+=}!Q\+C\+P\+Range@{Q\+C\+P\+Range}}
\subsubsection{\texorpdfstring{operator+=()}{operator+=()}}
{\footnotesize\ttfamily \mbox{\hyperlink{class_q_c_p_range}{Q\+C\+P\+Range}} \& Q\+C\+P\+Range\+::operator+= (\begin{DoxyParamCaption}\item[{const double \&}]{value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Adds {\itshape value} to both boundaries of the range. \mbox{\Hypertarget{class_q_c_p_range_a95894bcb15a16a75ca564091374e2191}\label{class_q_c_p_range_a95894bcb15a16a75ca564091374e2191}} 
\index{Q\+C\+P\+Range@{Q\+C\+P\+Range}!operator-\/=@{operator-\/=}}
\index{operator-\/=@{operator-\/=}!Q\+C\+P\+Range@{Q\+C\+P\+Range}}
\subsubsection{\texorpdfstring{operator-\/=()}{operator-=()}}
{\footnotesize\ttfamily \mbox{\hyperlink{class_q_c_p_range}{Q\+C\+P\+Range}} \& Q\+C\+P\+Range\+::operator-\/= (\begin{DoxyParamCaption}\item[{const double \&}]{value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Subtracts {\itshape value} from both boundaries of the range. \mbox{\Hypertarget{class_q_c_p_range_a6137d8682b6835ace840730b4c1e2d63}\label{class_q_c_p_range_a6137d8682b6835ace840730b4c1e2d63}} 
\index{Q\+C\+P\+Range@{Q\+C\+P\+Range}!operator/=@{operator/=}}
\index{operator/=@{operator/=}!Q\+C\+P\+Range@{Q\+C\+P\+Range}}
\subsubsection{\texorpdfstring{operator/=()}{operator/=()}}
{\footnotesize\ttfamily \mbox{\hyperlink{class_q_c_p_range}{Q\+C\+P\+Range}} \& Q\+C\+P\+Range\+::operator/= (\begin{DoxyParamCaption}\item[{const double \&}]{value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Divides both boundaries of the range by {\itshape value}. \mbox{\Hypertarget{class_q_c_p_range_a808751fdd9b17ef52327ba011df2e5f1}\label{class_q_c_p_range_a808751fdd9b17ef52327ba011df2e5f1}} 
\index{Q\+C\+P\+Range@{Q\+C\+P\+Range}!sanitized\+For\+Lin\+Scale@{sanitized\+For\+Lin\+Scale}}
\index{sanitized\+For\+Lin\+Scale@{sanitized\+For\+Lin\+Scale}!Q\+C\+P\+Range@{Q\+C\+P\+Range}}
\subsubsection{\texorpdfstring{sanitized\+For\+Lin\+Scale()}{sanitizedForLinScale()}}
{\footnotesize\ttfamily \mbox{\hyperlink{class_q_c_p_range}{Q\+C\+P\+Range}} Q\+C\+P\+Range\+::sanitized\+For\+Lin\+Scale (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}

Returns a sanitized version of the range. Sanitized means for linear scales, that {\itshape lower} will always be numerically smaller (or equal) to {\itshape upper}. \mbox{\Hypertarget{class_q_c_p_range_a3d66288d66e1d6df3636075eb42502ee}\label{class_q_c_p_range_a3d66288d66e1d6df3636075eb42502ee}} 
\index{Q\+C\+P\+Range@{Q\+C\+P\+Range}!sanitized\+For\+Log\+Scale@{sanitized\+For\+Log\+Scale}}
\index{sanitized\+For\+Log\+Scale@{sanitized\+For\+Log\+Scale}!Q\+C\+P\+Range@{Q\+C\+P\+Range}}
\subsubsection{\texorpdfstring{sanitized\+For\+Log\+Scale()}{sanitizedForLogScale()}}
{\footnotesize\ttfamily \mbox{\hyperlink{class_q_c_p_range}{Q\+C\+P\+Range}} Q\+C\+P\+Range\+::sanitized\+For\+Log\+Scale (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}

Returns a sanitized version of the range. Sanitized means for logarithmic scales, that the range won\textquotesingle{}t span the positive and negative sign domain, i.\+e. contain zero. Further {\itshape lower} will always be numerically smaller (or equal) to {\itshape upper}.

If the original range does span positive and negative sign domains or contains zero, the returned range will try to approximate the original range as good as possible. If the positive interval of the original range is wider than the negative interval, the returned range will only contain the positive interval, with lower bound set to {\itshape range\+Fac} or {\itshape range\+Fac} $\ast${\itshape upper}, whichever is closer to zero. Same procedure is used if the negative interval is wider than the positive interval, this time by changing the {\itshape upper} bound. \mbox{\Hypertarget{class_q_c_p_range_a62326e7cc4316b96df6a60813230e63f}\label{class_q_c_p_range_a62326e7cc4316b96df6a60813230e63f}} 
\index{Q\+C\+P\+Range@{Q\+C\+P\+Range}!size@{size}}
\index{size@{size}!Q\+C\+P\+Range@{Q\+C\+P\+Range}}
\subsubsection{\texorpdfstring{size()}{size()}}
{\footnotesize\ttfamily double Q\+C\+P\+Range\+::size (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}

Returns the size of the range, i.\+e. {\itshape upper-\/{\itshape lower} } \mbox{\Hypertarget{class_q_c_p_range_ab38bd4841c77c7bb86c9eea0f142dcc0}\label{class_q_c_p_range_ab38bd4841c77c7bb86c9eea0f142dcc0}} 
\index{Q\+C\+P\+Range@{Q\+C\+P\+Range}!valid\+Range@{valid\+Range}}
\index{valid\+Range@{valid\+Range}!Q\+C\+P\+Range@{Q\+C\+P\+Range}}
\subsubsection{\texorpdfstring{valid\+Range()}{validRange()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily bool Q\+C\+P\+Range\+::valid\+Range (\begin{DoxyParamCaption}\item[{double}]{lower,  }\item[{double}]{upper }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}

Checks, whether the specified range is within valid bounds, which are defined as \mbox{\hyperlink{class_q_c_p_range_a5ca51e7a2dc5dc0d49527ab171fe1f4f}{Q\+C\+P\+Range\+::max\+Range}} and \mbox{\hyperlink{class_q_c_p_range_ab46d3bc95030ee25efda41b89e2b616b}{Q\+C\+P\+Range\+::min\+Range}}. A valid range means\+: \begin{DoxyItemize}
\item range bounds within -\/max\+Range and max\+Range \item range size above min\+Range \item range size below max\+Range \end{DoxyItemize}
\mbox{\Hypertarget{class_q_c_p_range_a801b964752eaad6219be9d8a651ec2b3}\label{class_q_c_p_range_a801b964752eaad6219be9d8a651ec2b3}} 
\index{Q\+C\+P\+Range@{Q\+C\+P\+Range}!valid\+Range@{valid\+Range}}
\index{valid\+Range@{valid\+Range}!Q\+C\+P\+Range@{Q\+C\+P\+Range}}
\subsubsection{\texorpdfstring{valid\+Range()}{validRange()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily bool Q\+C\+P\+Range\+::valid\+Range (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_q_c_p_range}{Q\+C\+P\+Range}} \&}]{range }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Checks, whether the specified range is within valid bounds, which are defined as \mbox{\hyperlink{class_q_c_p_range_a5ca51e7a2dc5dc0d49527ab171fe1f4f}{Q\+C\+P\+Range\+::max\+Range}} and \mbox{\hyperlink{class_q_c_p_range_ab46d3bc95030ee25efda41b89e2b616b}{Q\+C\+P\+Range\+::min\+Range}}. A valid range means\+: \begin{DoxyItemize}
\item range bounds within -\/max\+Range and max\+Range \item range size above min\+Range \item range size below max\+Range \end{DoxyItemize}


\subsection{Friends And Related Function Documentation}
\mbox{\Hypertarget{class_q_c_p_range_a558b1248ff6a9e41fd5b2630555a8acc}\label{class_q_c_p_range_a558b1248ff6a9e41fd5b2630555a8acc}} 
\index{Q\+C\+P\+Range@{Q\+C\+P\+Range}!operator$\ast$@{operator$\ast$}}
\index{operator$\ast$@{operator$\ast$}!Q\+C\+P\+Range@{Q\+C\+P\+Range}}
\subsubsection{\texorpdfstring{operator$\ast$}{operator*}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily const \mbox{\hyperlink{class_q_c_p_range}{Q\+C\+P\+Range}} operator$\ast$ (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_q_c_p_range}{Q\+C\+P\+Range}} \&}]{range,  }\item[{double}]{value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [friend]}}

Multiplies both boundaries of the range by {\itshape value}. \mbox{\Hypertarget{class_q_c_p_range_a5cb2332f6957021f47cc768089f4f090}\label{class_q_c_p_range_a5cb2332f6957021f47cc768089f4f090}} 
\index{Q\+C\+P\+Range@{Q\+C\+P\+Range}!operator$\ast$@{operator$\ast$}}
\index{operator$\ast$@{operator$\ast$}!Q\+C\+P\+Range@{Q\+C\+P\+Range}}
\subsubsection{\texorpdfstring{operator$\ast$}{operator*}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily const \mbox{\hyperlink{class_q_c_p_range}{Q\+C\+P\+Range}} operator$\ast$ (\begin{DoxyParamCaption}\item[{double}]{value,  }\item[{const \mbox{\hyperlink{class_q_c_p_range}{Q\+C\+P\+Range}} \&}]{range }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [friend]}}

Multiplies both boundaries of the range by {\itshape value}. \mbox{\Hypertarget{class_q_c_p_range_af53ea6fb823a4a5897162b865841de04}\label{class_q_c_p_range_af53ea6fb823a4a5897162b865841de04}} 
\index{Q\+C\+P\+Range@{Q\+C\+P\+Range}!operator+@{operator+}}
\index{operator+@{operator+}!Q\+C\+P\+Range@{Q\+C\+P\+Range}}
\subsubsection{\texorpdfstring{operator+}{operator+}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily const \mbox{\hyperlink{class_q_c_p_range}{Q\+C\+P\+Range}} operator+ (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_q_c_p_range}{Q\+C\+P\+Range}} \&}]{range,  }\item[{double}]{value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [friend]}}

Adds {\itshape value} to both boundaries of the range. \mbox{\Hypertarget{class_q_c_p_range_a9fb2e9941d32001482df670c0d704977}\label{class_q_c_p_range_a9fb2e9941d32001482df670c0d704977}} 
\index{Q\+C\+P\+Range@{Q\+C\+P\+Range}!operator+@{operator+}}
\index{operator+@{operator+}!Q\+C\+P\+Range@{Q\+C\+P\+Range}}
\subsubsection{\texorpdfstring{operator+}{operator+}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily const \mbox{\hyperlink{class_q_c_p_range}{Q\+C\+P\+Range}} operator+ (\begin{DoxyParamCaption}\item[{double}]{value,  }\item[{const \mbox{\hyperlink{class_q_c_p_range}{Q\+C\+P\+Range}} \&}]{range }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [friend]}}

Adds {\itshape value} to both boundaries of the range. \mbox{\Hypertarget{class_q_c_p_range_a797f82830b516646da8873f82e39e356}\label{class_q_c_p_range_a797f82830b516646da8873f82e39e356}} 
\index{Q\+C\+P\+Range@{Q\+C\+P\+Range}!operator-\/@{operator-\/}}
\index{operator-\/@{operator-\/}!Q\+C\+P\+Range@{Q\+C\+P\+Range}}
\subsubsection{\texorpdfstring{operator-\/}{operator-}}
{\footnotesize\ttfamily const \mbox{\hyperlink{class_q_c_p_range}{Q\+C\+P\+Range}} operator-\/ (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_q_c_p_range}{Q\+C\+P\+Range}} \&}]{range,  }\item[{double}]{value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [friend]}}

Subtracts {\itshape value} from both boundaries of the range. \mbox{\Hypertarget{class_q_c_p_range_a4b366a3a21974c88e09b0d39d4a24a4b}\label{class_q_c_p_range_a4b366a3a21974c88e09b0d39d4a24a4b}} 
\index{Q\+C\+P\+Range@{Q\+C\+P\+Range}!operator/@{operator/}}
\index{operator/@{operator/}!Q\+C\+P\+Range@{Q\+C\+P\+Range}}
\subsubsection{\texorpdfstring{operator/}{operator/}}
{\footnotesize\ttfamily const \mbox{\hyperlink{class_q_c_p_range}{Q\+C\+P\+Range}} operator/ (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_q_c_p_range}{Q\+C\+P\+Range}} \&}]{range,  }\item[{double}]{value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [friend]}}

Divides both boundaries of the range by {\itshape value}. 

\subsection{Member Data Documentation}
\mbox{\Hypertarget{class_q_c_p_range_a5ca51e7a2dc5dc0d49527ab171fe1f4f}\label{class_q_c_p_range_a5ca51e7a2dc5dc0d49527ab171fe1f4f}} 
\index{Q\+C\+P\+Range@{Q\+C\+P\+Range}!max\+Range@{max\+Range}}
\index{max\+Range@{max\+Range}!Q\+C\+P\+Range@{Q\+C\+P\+Range}}
\subsubsection{\texorpdfstring{max\+Range}{maxRange}}
{\footnotesize\ttfamily const double Q\+C\+P\+Range\+::max\+Range = 1e250\hspace{0.3cm}{\ttfamily [static]}}

Maximum values (negative and positive) the range will accept in range-\/changing functions. Larger absolute values would cause errors due to the 11-\/bit exponent of double precision numbers, corresponding to a maximum magnitude of roughly 1e308. Since the number of planck-\/volumes in the entire visible universe is only $\sim$1e183, this should be enough. \begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{class_q_c_p_range_ab38bd4841c77c7bb86c9eea0f142dcc0}{valid\+Range}}, \mbox{\hyperlink{class_q_c_p_range_ab46d3bc95030ee25efda41b89e2b616b}{min\+Range}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{class_q_c_p_range_ab46d3bc95030ee25efda41b89e2b616b}\label{class_q_c_p_range_ab46d3bc95030ee25efda41b89e2b616b}} 
\index{Q\+C\+P\+Range@{Q\+C\+P\+Range}!min\+Range@{min\+Range}}
\index{min\+Range@{min\+Range}!Q\+C\+P\+Range@{Q\+C\+P\+Range}}
\subsubsection{\texorpdfstring{min\+Range}{minRange}}
{\footnotesize\ttfamily const double Q\+C\+P\+Range\+::min\+Range = 1e-\/280\hspace{0.3cm}{\ttfamily [static]}}

Minimum range size ({\itshape upper} -\/ {\itshape lower}) the range changing functions will accept. Smaller intervals would cause errors due to the 11-\/bit exponent of double precision numbers, corresponding to a minimum magnitude of roughly 1e-\/308. \begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{class_q_c_p_range_ab38bd4841c77c7bb86c9eea0f142dcc0}{valid\+Range}}, \mbox{\hyperlink{class_q_c_p_range_a5ca51e7a2dc5dc0d49527ab171fe1f4f}{max\+Range}} 
\end{DoxySeeAlso}


The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
R\+:/\+Develop/a0-\/develop/\+Lib\+Q\+Qt/src/charts/qcustomplot/\mbox{\hyperlink{qcustomplot_8h}{qcustomplot.\+h}}\item 
R\+:/\+Develop/a0-\/develop/\+Lib\+Q\+Qt/src/charts/qcustomplot/\mbox{\hyperlink{qcustomplot_8cpp}{qcustomplot.\+cpp}}\end{DoxyCompactItemize}
